// @ts-nocheck
import router from '@system.router'; //导入路由模块
import fetch from '@system.fetch'; //导入fetch模块
import qs from 'querystring'; //npm install qs，npm install querystring
import prompt from '@system.prompt'; // 导入弹窗模块
import storage from '@system.storage'; // 导入数据存储模块
import http from '@ohos.net.http';

export default {
    data: {
        winfo: "", //初始化为空
        username: "", // 账号
        password: "", // 密码
    },
    // 对 username 进行监听，动态获取 username 的值
    usernameChange(e) {
        this.username = e.value; // 若输入框中内容变化，将动态获取到的 value 中的值赋给 username
    },
    // 对 password 进行监听，动态获取 password  的值
    passwordChange(e) {
        this.password = e.value; // 若输入框中内容变化，将动态获取到的 value 中的值赋给 password
    },
    //跳转到注册页面
    ToRegister() {
        router.push({
            uri: "pages/login/register/register",
        });
    },
    ToForget() {
        router.push({
            uri: "pages/login/forget/forget",
        });
    },
    onClick() {
        if (this.username != "" && this.password != "") {
            // 每一个httpRequest对应一个http请求任务，不可复用
            let httpRequest = http.createHttp();
            // 用于订阅http响应头，此接口会比request请求先返回。可以根据业务需要订阅此消息
            // 从API 8开始，使用on('headersReceive', Callback)替代on('headerReceive', AsyncCallback)。 8+
            httpRequest.on('headersReceive', (header) => {
                console.info('header: ' + JSON.stringify(header));
            });
            httpRequest.request(
                // 填写http请求的url地址，可以带参数也可以不带参数。URL地址需要开发者自定义。请求的参数可以在extraData中指定
                //            "http://gk5v75.natappfree.cc/api/appdataRequest/",
                "http://124.71.225.45/api/appdataRequest/",
                {
                    //                method: http.RequestMethod.POST, // 可选，默认为http.RequestMethod.GET
                    method: 'POST', // 可选，默认为http.RequestMethod.GET
                    // 开发者根据自身业务需要添加header字段
                    header: {
                        'Content-Type': 'application/json'
                    },
                    // 当使用POST请求时此字段用于传递内容
                    extraData: {
                        //                    "data": "data to send",
                        'sendUsername': this.username,
                        'sendPassword': this.password,
                    },
                    connectTimeout: 60000, // 可选，默认为60s
                    readTimeout: 60000, // 可选，默认为60s
                }, (err, data) => {
                if (!err) {
                    // data.result为http响应内容，可根据业务需要进行解析
                    console.info('Result:' + data.result);
                    console.info('code:' + data.responseCode);
                    // data.header为http响应头，可根据业务需要进行解析
                    console.info('header:' + JSON.stringify(data.header));
                    console.info('cookies:' + data.cookies); // 8+

                    this.winfo = data.result; //获取从后台发送的数据，令获取到的数据赋给winfo
                    prompt.showToast({ // 弹框提示
                        message: this.winfo,
                        duration: 1500,
                        bottom: 300,
                    });
                    if(this.winfo == "登录成功！") {
                        setTimeout(function() {
                            router.push({
                                uri: "pages/index/index",
                            });
                        }, 1500);
                    }
                    console.log("返回的数据：" + this.winfo); //打印出数据
                } else {
                    console.info('error:' + JSON.stringify(err));

                    this.winfo = data.result;
                    console.log("获取数据失败：" + this.winfo)

                    // 当该请求使用完毕时，调用destroy方法主动销毁。
                    httpRequest.destroy();
                }
            });
        } else if(this.username == "") {
            prompt.showToast({
                message: "请输入账号!",
                duration: 1500,
                bottom: 300,
            });
        } else if(this.username != "" && this.password == "") {
            prompt.showToast({
                message: "请输入密码!",
                duration: 1500,
                bottom: 300,
            });
        }
    },
}
